<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>Mesa Release Notes</title>
  <link rel="stylesheet" type="text/css" href="../mesa.css">
</head>
<body>

<div class="header">
  <h1>The Mesa 3D Graphics Library</h1>
</div>

<iframe src="../contents.html"></iframe>
<div class="content">

<h1>Mesa 12.0.4 Release Notes / November 10, 2016</h1>

<p>
Mesa 12.0.4 is a bug fix release which fixes bugs found since the 12.0.4 release.
</p>
<p>
Mesa 12.0.4 implements the OpenGL 4.3 API, but the version reported by
glGetString(GL_VERSION) or glGetIntegerv(GL_MAJOR_VERSION) /
glGetIntegerv(GL_MINOR_VERSION) depends on the particular driver being used.
Some drivers don't support all the features required in OpenGL 4.3.  OpenGL
4.3 is <strong>only</strong> available if requested at context creation
because compatibility contexts are not supported.
</p>


<h2>SHA256 checksums</h2>
<pre>
22026ce4f1c6a7908b0d10ff057decec0a5633afe7f38a0cef5c08d0689f02a6 mesa-12.0.4.tar.gz
5d6003da867d3f54e5000b4acdfc37e6cce5b6a4459274fdad73e24bd2f0065e mesa-12.0.4.tar.xz
</pre>


<h2>New features</h2>
<p>None</p>


<h2>Bug fixes</h2>

<p>This list is likely incomplete.</p>

<ul>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=71759">Bug 71759</a> - Intel driver fails with &quot;intel_do_flush_locked failed: No such file or directory&quot; if buffer imported with EGL_NATIVE_PIXMAP_KHR</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=94354">Bug 94354</a> - R9285 Unigine Valley perf regression since radeonsi: use re-Z</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=96770">Bug 96770</a> - include/GL/mesa_glinterop.h:62: error: redefinition of typedef ‘GLXContext’</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97231">Bug 97231</a> - GL_DEPTH_CLAMP doesn't clamp to the far plane</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97233">Bug 97233</a> - vkQuake VkSpecializationMapEntry related bug</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97260">Bug 97260</a> - R9 290 low performance in Linux 4.7</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97549">Bug 97549</a> - [SNB, BXT] up to 40% perf drop from &quot;loader/dri3: Overhaul dri3_update_num_back&quot; commit</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=97887">Bug 97887</a> - llvm segfault in janusvr -render vive</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98025">Bug 98025</a> - [radeonsi] incorrect primitive restart index used</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98134">Bug 98134</a> - dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.draw_buffers wants a different GL error code</li>

<li><a href="https://bugs.freedesktop.org/show_bug.cgi?id=98326">Bug 98326</a> - [dEQP, EGL] pbuffer depth/stencil tests fail</li>

</ul>


<h2>Changes</h2>

<p>Axel Davy (4):</p>
<ul>
  <li>gallium/util: Really allow aliasing of dst for u_box_union_*</li>
  <li>st/nine: Fix the calculation of the number of vs inputs</li>
  <li>st/nine: Fix mistake in Volume9 UnlockBox</li>
  <li>st/nine: Fix locking CubeTexture surfaces.</li>
</ul>

<p>Brendan King (1):</p>
<ul>
  <li>configure.ac: fix the name of the Wayland Scanner pc file</li>
</ul>

<p>Brian Paul (1):</p>
<ul>
  <li>st/mesa: fix swizzle issue in st_create_sampler_view_from_stobj()</li>
</ul>

<p>Chad Versace (3):</p>
<ul>
  <li>egl: Fix truncation error in _eglParseSyncAttribList64</li>
  <li>i965/sync: Fix uninitalized usage and leak of mutex</li>
  <li>egl: Don't advertise unsupported platform extensions</li>
</ul>

<p>Chuanbo Weng (1):</p>
<ul>
  <li>gbm: fix potential NULL deref of mapImage/unmapImage.</li>
</ul>

<p>Chuck Atkins (1):</p>
<ul>
  <li>autoconf: Make header install distinct for various APIs (v2)</li>
</ul>

<p>Dave Airlie (3):</p>
<ul>
  <li>anv: initialise and increment send_sbc</li>
  <li>anv/wsi: fix apps that acquire multiple images up front</li>
  <li>Revert "st/vdpau: use linear layout for output surfaces"</li>
</ul>

<p>Emil Velikov (12):</p>
<ul>
  <li>docs: add sha256 checksums for 12.0.3</li>
  <li>cherry-ignore: add non-applicable i965 commit</li>
  <li>cherry-ignore: add vaapi encode fix</li>
  <li>cherry-ignore: add EGL_KHR_debug fix</li>
  <li>cherry-ignore: add update_renderbuffer_read_surfaces()</li>
  <li>isl/gen6: correctly check msaa layout samples count</li>
  <li>egl/x11: don't crash if dri2_dpy-&gt;conn is NULL</li>
  <li>get-pick-list.sh: Require explicit "12.0" for nominating stable patches</li>
  <li>automake: don't forget to pick wglext.h in the tarball</li>
  <li>cherry-ignore: add N/A EGL revert</li>
  <li>cherry-ignore: add ClientWaitSync fixes</li>
  <li>Update version to 12.0.4</li>
</ul>

<p>Eric Anholt (5):</p>
<ul>
  <li>travis: Parse configure.ac to pick an updated LIBDRM_VERSION.</li>
  <li>travis: Update to the Ubuntu Trusty image.</li>
  <li>travis: Enable vc4 in libdrm to satisfy vc4 test build dependency.</li>
  <li>travis: Upgrade LLVM dependency to 3.5 and enable LLVM drivers.</li>
  <li>gallium: Fix install-gallium-links.mk on non-bash /bin/sh</li>
</ul>

<p>Hans de Goede (1):</p>
<ul>
  <li>pipe_loader_sw: Fix fd leak when instantiated via pipe_loader_sw_probe_kms</li>
</ul>

<p>Ian Romanick (1):</p>
<ul>
  <li>glsl: Fix cut-and-paste bug in hierarchical visitor ir_expression::accept</li>
</ul>

<p>Ilia Mirkin (16):</p>
<ul>
  <li>nv30: set usage to staging so that the buffer is allocated in GART</li>
  <li>a3xx: make sure to actually clamp depth as requested</li>
  <li>a3xx: make use of software clipping when hw can't handle it</li>
  <li>a3xx: use window scissor to simulate viewport xy clip</li>
  <li>main: GL_RGB10_A2UI does not come with GL 3.0/EXT_texture_integer</li>
  <li>mesa/formatquery: limit ES target support, fix core context support</li>
  <li>nir: fix definition of pack_uvec2_to_uint</li>
  <li>gm107/ir: AL2P writes to a predicate register</li>
  <li>st/mesa: fix is_scissor_enabled when X/Y are negative</li>
  <li>nvc0/ir: fix overwriting of value backing non-constant gather offset</li>
  <li>nv50/ir: copy over value's register id when resolving merge of a phi</li>
  <li>nvc0/ir: fix textureGather with a single offset</li>
  <li>gm107/ir: fix texturing with indirect samplers</li>
  <li>gm107/ir: fix bit offset of tex lod setting for indirect texturing</li>
  <li>nv50,nvc0: avoid reading out of bounds when getting bogus so info</li>
  <li>nv50/ir: process texture offset sources as regular sources</li>
</ul>

<p>James Legg (1):</p>
<ul>
  <li>radeonsi: Fix primitive restart when index changes</li>
</ul>

<p>Jason Ekstrand (9):</p>
<ul>
  <li>nir/spirv: Swap the argument order for AtomicCompareExchange</li>
  <li>nir/spirv: Use the correct sources for CompareExchange on images</li>
  <li>nir/spirv: Break variable decoration handling into a helper</li>
  <li>nir/spirv: Refactor variable deocration handling</li>
  <li>nir/spirv/cfg: Handle switches whose break block is a loop continue</li>
  <li>nir/spirv/cfg: Detect switch_break after loop_break/continue</li>
  <li>nir: Add a nop intrinsic</li>
  <li>nir/spirv/cfg: Use a nop intrinsic for tagging the ends of blocks</li>
  <li>intel/blorp: Rework our usage of ralloc when compiling shaders</li>
</ul>

<p>Jonathan Gray (3):</p>
<ul>
  <li>genxml: add generated headers to EXTRA_DIST</li>
  <li>mapi: automake: set VISIBILITY_CFLAGS for shared glapi</li>
  <li>mesa: automake: include mesa_glinterop.h in distfile</li>
</ul>

<p>Julien Isorce (1):</p>
<ul>
  <li>st/va: also honors interlaced preference when providing a video format</li>
</ul>

<p>Kenneth Graunke (8):</p>
<ul>
  <li>nir: Call nir_metadata_preserve from nir_lower_alu_to_scalar().</li>
  <li>mesa: Expose RESET_NOTIFICATION_STRATEGY with KHR_robustness.</li>
  <li>i965: Fix missing _NEW_TRANSFORM in Gen8+ 3DSTATE_DS atom.</li>
  <li>i965: Add missing BRW_NEW_VS_PROG_DATA to 3DSTATE_CLIP.</li>
  <li>i965: Move BRW_NEW_FRAGMENT_PROGRAM from 3DSTATE_PS to PS_EXTRA.</li>
  <li>i965: Add missing BRW_NEW_CS_PROG_DATA to compute constant atom.</li>
  <li>i965: Add missing BRW_CS_PROG_DATA to CS work group surface atom.</li>
  <li>i965: Fix gl_InvocationID in dual object GS where invocations == 1.</li>
</ul>

<p>Marek Olšák (12):</p>
<ul>
  <li>radeonsi: fix cubemaps viewed as 2D</li>
  <li>radeonsi: take compute shader and dispatch indirect memory usage into account</li>
  <li>radeonsi: fix FP64 UBO loads with indirect uniform block indexing</li>
  <li>mesa: fix glGetFramebufferAttachmentParameteriv w/ on-demand FRONT_BACK alloc</li>
  <li>radeonsi: fix interpolateAt opcodes for .zw components</li>
  <li>radeonsi: fix texture border colors for compute shaders</li>
  <li>radeonsi: disable ReZ</li>
  <li>gallium/radeon: make sure the address of separate CMASK is aligned properly</li>
  <li>winsys/amdgpu: fix radeon_surf::macro_tile_index for imported textures</li>
  <li>egl: use util/macros.h</li>
  <li>egl: make interop ABI visible again</li>
  <li>glx: make interop ABI visible again</li>
</ul>

<p>Mario Kleiner (1):</p>
<ul>
  <li>glx: Perform check for valid fbconfig against proper X-Screen.</li>
</ul>

<p>Martin Peres (2):</p>
<ul>
  <li>loader/dri3: add get_dri_screen() to the vtable</li>
  <li>loader/dri3: import prime buffers in the currently-bound screen</li>
</ul>

<p>Matt Whitlock (5):</p>
<ul>
  <li>egl/android: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
  <li>gallium/auxiliary: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
  <li>st/dri: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
  <li>st/xa: replace call to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
  <li>gallium/winsys: replace calls to dup(2) with fcntl(F_DUPFD_CLOEXEC)</li>
</ul>

<p>Max Staudt (1):</p>
<ul>
  <li>r300g: Set R300_VAP_CNTL on RSxxx to avoid triangle flickering</li>
</ul>

<p>Michel Dänzer (1):</p>
<ul>
  <li>loader/dri3: Overhaul dri3_update_num_back</li>
</ul>

<p>Nicholas Bishop (2):</p>
<ul>
  <li>gbm: return appropriate error when queryImage() fails</li>
  <li>st/dri: check pipe_screen-&gt;resource_get_handle() return value</li>
</ul>

<p>Nicolai Hähnle (10):</p>
<ul>
  <li>gallium/radeon: cleanup and fix branch emits</li>
  <li>st/glsl_to_tgsi: disable on-the-fly peephole for 64-bit operations</li>
  <li>st/glsl_to_tgsi: simplify translate_tex_offset</li>
  <li>st/glsl_to_tgsi: fix textureGatherOffset with indirectly loaded offsets</li>
  <li>st/mesa: fix vertex elements setup for doubles</li>
  <li>radeonsi: fix indirect loads of 64 bit constants</li>
  <li>st/glsl_to_tgsi: fix atomic counter addressing</li>
  <li>st/glsl_to_tgsi: fix block copies of arrays of doubles</li>
  <li>st/mesa: only set primitive_restart when the restart index is in range</li>
  <li>radeonsi: fix 64-bit loads from LDS</li>
</ul>

<p>Samuel Pitoiset (4):</p>
<ul>
  <li>nvc0/ir: fix subops for IMAD</li>
  <li>gk110/ir: fix wrong emission of OP_NOT</li>
  <li>nvc0: use correct bufctx when invalidating CP textures</li>
  <li>nvc0/ir: fix emission of IMAD with NEG modifiers</li>
</ul>

<p>Stencel, Joanna (1):</p>
<ul>
  <li>egl/wayland: add missing destroy_window callback</li>
</ul>

<p>Tapani Pälli (5):</p>
<ul>
  <li>egl: stop claiming support for pbuffer + msaa</li>
  <li>egl/dri2: set max values for pbuffer width and height</li>
  <li>egl: add check that eglCreateContext gets a valid config</li>
  <li>mesa: fix error handling in DrawBuffers</li>
  <li>egl: set preserved behavior for surface only if config supports it</li>
</ul>

<p>Tim Rowley (1):</p>
<ul>
  <li>configure.ac: add llvm inteljitevents component if enabled</li>
</ul>

<p>Vedran Miletić (1):</p>
<ul>
  <li>clover: Fix build against clang SVN &gt;= r273191</li>
</ul>

<p>Vinson Lee (1):</p>
<ul>
  <li>Revert "mesa_glinterop: remove inclusion of GLX header"</li>
</ul>


</div>
</body>
</html>
